Fast, Optimized Sun RPC Using Automatic Program Specialization
نویسندگان
چکیده
Fast remote procedure call (RPC) is a major concern for distributed systems. Many studies aimed at efficient RPC consist of either new implementations of the RPC paradigm or manual optimization of critical sections of the code. This paper presents an experiment that achieves automatic optimization of an existing, commercial RPC implementation, namely the Sun RPC. The optimized Sun RPC is obtained by using an automatic program specializer. It runs up to 1.5 times faster than the original Sun RPC. Close examination of the specialized code does not reveal further optimization opportunities which would lead to significant improvements without major manual restructuring. The contributions of this work are: (1) the optimized code is safely produced by an automatic tool and thus does not entail any additional maintenance; (2) to the best of our knowledge this is the first successful specialization of mature, commercial, representative system code; and (3) the optimized Sun RPC runs significantly faster than the original code. Keyword: partial evaluation, RPC protocol, Sun RPC, distributed systems, automatic optimization.
منابع مشابه
Accurate program analyses for successful specialization of legacy system software
Choosing the accuracy of program analyses is a crucial issue when designing and developing a partial evaluator capable of treating realistic programs, and in particular legacy software. In this paper, we investigate the degree of accuracy of alias and binding-time analyses that is required to successfully exploit the specialization opportunities present in the Sun commercial implementation of t...
متن کاملEffective Partial Evaluation: Principles and Applications
We report here a successful experiment in using partial evaluation on a realistic program, namely the Sun commercial RPC (Remote Procedure Call) protocol. The Sun RPC is implemented in a highly generic way that offers multiple opportunities of specialization. Our study also shows the incapacity of traditional binding-time analyses to treat real system programs. Our experiment has been made with...
متن کاملAutomatic Exploitation of Input Parallelism
Parallelism may reside in the input of a program rather than the program itself. A script interpreter, for example, is hard to parallelize because its dynamic behavior is unpredictable until an input script is given. Once the interpreter is combined with the script, the resulting program becomes predictable, and even parallelizable if the input script contains parallelism. Despite recent progre...
متن کاملAutomatic , Template - Based Run - Time Specialization : Implementation and Experimental Study François Noël , Luke Hornof
Specializing programs with respect to run-time values is an optimization strategy that has been shown to drastically improve code performance on realistic programs ranging from operating systems to graphics. Recently, various approaches to specializing code at run-time have been proposed. However, these approaches still suuer from shortcomings that limit their applicability: they are either man...
متن کاملAutomatic, Template-Based Run-Time Specialization: Implementation and Experimental Study
Specializing programs with respect to run-time values has been shown to drastically improve code performance on realistic programs ranging from operating systems to graphics. Recently, various approaches to specializing code at run-time have been proposed. However, these approaches still suuer from shortcomings that limit their applicability: they are manual, too expensive, or require programs ...
متن کامل